#include<stdio.h>
int main()
{
	char a = 1;//输入的是数字1，不是‘1’-0000 0001
	printf("%u\n", sizeof(a));//1
	//sizeof返回值为1（unsigned int），发生输出类型转换后，结果依旧为1
	printf("%u\n", sizeof(+a));//4  
	//'+'发生了算数运算，把a整型提升到4个字节,sizeof返回unsigned int类型的4 
	//然后发生输出类型转换，结果依旧为4
	printf("%u\n", sizeof(!a));//1  
	//'!'发生了逻辑运算，不发生整型提升，sizeof返回值依旧是1（u），输出转换后不变
	printf("%u\n", !a);//0
	//首先进行表达式计算，a为1，逻辑结果为真，则表达式（！a）为假，数值表现为0
	//发生算术类型转换，转为unsigned int 结果不变
	printf("%u\n", a);//1
	//输出类型转换，结果仍为1
	return 0;
}
